package com.zjdiepu.www.service.partner;

import com.diepu.www.client.partner.proxy.request.ApplyDiviBackProxyRequest;
import com.diepu.www.client.partner.proxy.request.ApplyDiviStatusProxyRequest;
import com.diepu.www.client.partner.proxy.request.OpenCardbackReasonRequest;
import com.diepu.www.client.partner.proxy.request.UpdateDownloadStatusRequest;
import com.diepu.www.client.partner.proxy.request.UpdatePushStatusRequest;
import com.diepu.www.client.partner.proxy.response.SynInterviewInfoResponse;
import com.diepu.www.client.proxy.partner.common.DiepuOtherAttachmentsResponse;
import com.diepu.www.client.proxy.partner.request.own.DiepuOtherAttachmentsRequest;
import com.diepu.www.client.proxy.partner.request.own.DiepuYwOpenCardHzicbcRequest;
import com.zjdiepu.www.request.BaseRequest;
import com.zjdiepu.www.security.exception.BasePartnerException;


/**
 * 碟普接口服务
 * @author xiongxiaotun
 *
 */
public interface IDiepuService {
	/**
	 * 同步面签信息
	 * @param request
	 * @return
	 * @throws BasePartnerException 
	 */
	SynInterviewInfoResponse synInterviewInfo(BaseRequest request) throws BasePartnerException;
	
	/**
	 * 同步面签视频:推送状态
	 * @param request
	 * @return
	 * @throws BasePartnerException 
	 */
	boolean pushStatus(UpdatePushStatusRequest request) throws BasePartnerException;
	/**
	 * 同步面签视频:下载状态
	 * @param request
	 * @return
	 * @throws BasePartnerException 
	 */
	boolean downloadStatus(UpdateDownloadStatusRequest request) throws BasePartnerException;
	
	/**
	 * 银行分期申请退回
	 * @param applyDiviBackProxyRequest
	 * @throws BasePartnerException
	 */
	boolean applyDiviBack(ApplyDiviBackProxyRequest applyDiviBackProxyRequest) throws BasePartnerException;
	
	/**
	 * 银行分期状态通知
	 * @param applyDiviStatusProxyRequest
	 * @throws BasePartnerException
	 */
	boolean applyDiviStatus(ApplyDiviStatusProxyRequest applyDiviStatusProxyRequest) throws BasePartnerException;

	/**
	 * 开卡申请成功通知
	 * @param diepuYwOpenCardHzicbcRequest
	 */
	boolean noticeOpenCardSuccess(DiepuYwOpenCardHzicbcRequest diepuYwOpenCardHzicbcRequest)throws BasePartnerException;

	DiepuOtherAttachmentsResponse selectOtherAttachmentsByDataId(DiepuOtherAttachmentsRequest diepuOtherAttachmentsRequest)throws BasePartnerException;
	
	/**
	 * 开卡退回理由
	 * @param diepuYwOpenCardHzicbcRequest
	 */
	boolean openCardBackReason(OpenCardbackReasonRequest openCardbackReasonRequest)throws BasePartnerException ;

	boolean updateOpenCardStatus(
			DiepuYwOpenCardHzicbcRequest diepuYwOpenCardHzicbcRequest)throws BasePartnerException;
}
